gtk/gentypefuncs.py: Open files in utf-8 encoding
authorChun-wei Fan <fanchunwei@src.gnome.org>
Tue, 1 Aug 2017 08:44:20 +0000 (16:44 +0800)
committerChun-wei Fan <fanchunwei@src.gnome.org>
Fri, 15 Sep 2017 13:41:15 +0000 (21:41 +0800)
On Python-3.x, we need to set the encoding when opening files, when this
script is run, as it might contain items that are not supported by the
system's locale (for example, non-English Windows).  So, we use a
wrapper to set the encoding on Python 3.x, but open the file as we did
when using Python 2.x, since file encodings are not supported there.

https://bugzilla.gnome.org/show_bug.cgi?id=785210

gtk/gentypefuncs.py

index 0e42002a172783ca2fb96582abfebde692987350..b17b7233a1e38877cf9db6cd0b1a5b193d68d14a 100644 (file)
@@ -17,9 +17,15 @@ if debug: print ('Output file: ', out_file)
 
 if debug: print (len(in_files), 'input files')
 
+def open_file(filename, mode):
+    if sys.version_info[0] < 3:
+        return open(filename, mode=mode)
+    else:
+        return open(filename, mode=mode, encoding='utf-8')
+
 for filename in in_files:
   if debug: print ('Input file: ', filename)
-  with open(filename, "r") as f:
+  with open_file(filename, "r") as f:
     for line in f:
       line = line.rstrip('\n').rstrip('\r')
       # print line